package com.wander.designStructural.bridge;

/**
 * 优点
 * 1、分离抽象接口及其实现部分。提高了比继承更好的解决方案。
 * 2、桥接模式提高了系统的可扩充性，在两个变化维度中任意扩展一个维度，都不需要修改原有系统。
 * 3、实现细节对客户透明，可以对用户隐藏实现细节。
 * 缺点
 * 1、桥接模式的引入会增加系统的理解与设计难度，由于聚合关联关系建立在抽象层，要求开发者针对抽象进行设计与编程。
 * 2、桥接模式要求正确识别出系统中两个独立变化的维度，因此其使用范围具有一定的局限性。
 * @author WDYin
 * @date 2023/5/26
 **/
public class MyClient {
    public static void main(String[] args) {
        Color blueColor = new BlueColor();
        Shape circle = new Circle(blueColor);
        System.out.println(circle.draw());

        Color greenColor = new GreenColor();
        Shape square = new Square(greenColor);
        System.out.println(square.draw());
    }
}
